export const delay = async (n = 1000) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(true);
    }, n);
  });
};

// 下载 JSON 文件的函数
export function downloadJson(data: any, filename = "data.json", type = 'application/json') {
  // 创建 Blob 对象（MIME 类型为 application/json）
  const blob = new Blob([data], { type: type });
  
  // 创建下载链接
  const url = URL.createObjectURL(blob);
  const a = document.createElement("a");
  a.href = url;
  a.download = filename; // 文件名（可自定义）
  
  // 模拟点击下载
  document.body.appendChild(a);
  a.click();
  
  // 清理资源
  document.body.removeChild(a);
  URL.revokeObjectURL(url);
}

export function pickFile() {
  const input = document.createElement('input')
  input.type = 'file'
  input.style.display = 'none'
  document.body.append(input)

  input.click()

  return new Promise((resolve, reject) => {
    input.onchange = function(e) {
      resolve(input.files?.[0])
      input.remove()
    }

    input.oncancel = function(e) {
      reject(e)
      input.remove()
    }
  })
}